﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Coolite.Ext.Web;
using ENT.PM.Core.Lookup;
using ENT.PM.Core;
using ENT.PM.Core.Proyecto;
using ENT.PM.Core.Core;

namespace ent_pm.Proyectos.Binacional
{
    public partial class ProyectosBinacionales : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                EstadoProyectoLookup.InvalidateCache();
                TipoLookup.InvalidateCache();
                EjesLookup.InvalidateCache();
                ProgramaLookup.InvalidateCache();
                StoreEstado.DataSource = EstadoProyectoLookup.GetNameValueList();
                StoreEstado.DataBind();
                StoreTipo.DataSource = TipoLookup.GetNameValueList();
                StoreTipo.DataBind();
                StoreEje.DataSource = EjesLookup.GetNameValueList();
                StoreEje.DataBind();
                StoreProgramas.DataSource = ProgramaLookup.GetNameValueList();
                StoreProgramas.DataBind();
            }
        }
        protected void btnBuscar_Click(object sender, AjaxEventArgs e)
        {
            try
            {
                ProyectoCriterio criterio = ProyectoCriterio.NewProyectoCriterio();
                if (cbxProgramas.SelectedIndex == -1)
                    criterio.ProgramaId = 0;
                else
                    criterio.ProgramaId = Convert.ToInt32(cbxProgramas.SelectedItem.Value);

                if (cbxEje.SelectedIndex == -1)
                    criterio.EjeId = 0;
                else
                    criterio.EjeId = Convert.ToInt32(cbxEje.SelectedItem.Value);
                                
                if (cbxEstado.SelectedIndex == -1)
                    criterio.EstadoId = 0;
                else
                    criterio.EstadoId = Convert.ToInt32(cbxEstado.SelectedItem.Value);
                criterio.TipoId = 271;
                criterio.Nombre = txtNombrePrograma.Text;

                StoreProyectos.DataSource = ProyectoLista.GetProyectoLista(criterio);
                StoreProyectos.DataBind();
            }
            catch { }
        }

        protected void Editar_Click(object sender, AjaxEventArgs e)
        {
            try
            {
                string comando = e.ExtraParams["Comando"];
                if (comando=="Eliminar")
                    wucProyecto1.Show(Convert.ToInt32(e.ExtraParams["id"].ToString()),comando);
                else
                    wucProyecto1.Show(Convert.ToInt32(e.ExtraParams["id"].ToString()));
            }
            catch (Exception ex)
            {
                Ext.Msg.Show(new MessageBox.Config
                {
                    Buttons = MessageBox.Button.OK,
                    Icon = MessageBox.Icon.ERROR,
                    Title = "Fallo",
                    Message = "Ocurrio un error"
                });
                Util.RegistarLog(ex.ToString());
            }
        }

        protected void btnNuevo_click(object sender, AjaxEventArgs e)
        {
            try
            {
                wucProyecto1.Show();
            }
            catch (Exception ex)
            {
                Util.RegistarLog(ex.ToString());
            }
        }
    }
}
